package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户体力信息对象 user_energys
 *
 * @author ruoyi
 * @date 2025-05-08
 */
public class UserEnergys extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 体力记录id */
    private Long userEnergysId;

    /** 用户 ID */
    @Excel(name = "用户 ID")
    private Long userId;

    /** 当前体力值，初始值为 30 */
    @Excel(name = "当前体力值，初始值为 30")
    private Long currentStamina;

    /** 最后一次体力更新的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后一次体力更新的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdateTime;

    /** 观看广告的次数 */
    @Excel(name = "观看广告的次数")
    private Long adWatchCount;

    /** 观看广告后，获得的体力数 */
    @Excel(name = "观看广告后，获得的体力数")
    private Long watchObtain;

    /** 分享次数 */
    @Excel(name = "分享次数")
    private Long shareCount;

    /** 分享获得的体力数 */
    @Excel(name = "分享获得的体力数")
    private Long shareObtain;

    public void setUserEnergysId(Long userEnergysId)
    {
        this.userEnergysId = userEnergysId;
    }

    public Long getUserEnergysId()
    {
        return userEnergysId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setCurrentStamina(Long currentStamina)
    {
        this.currentStamina = currentStamina;
    }

    public Long getCurrentStamina()
    {
        return currentStamina;
    }
    public void setLastUpdateTime(Date lastUpdateTime)
    {
        this.lastUpdateTime = lastUpdateTime;
    }

    public Date getLastUpdateTime()
    {
        return lastUpdateTime;
    }
    public void setAdWatchCount(Long adWatchCount)
    {
        this.adWatchCount = adWatchCount;
    }

    public Long getAdWatchCount()
    {
        return adWatchCount;
    }
    public void setWatchObtain(Long watchObtain)
    {
        this.watchObtain = watchObtain;
    }

    public Long getWatchObtain()
    {
        return watchObtain;
    }
    public void setShareCount(Long shareCount)
    {
        this.shareCount = shareCount;
    }

    public Long getShareCount()
    {
        return shareCount;
    }
    public void setShareObtain(Long shareObtain)
    {
        this.shareObtain = shareObtain;
    }

    public Long getShareObtain()
    {
        return shareObtain;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("userEnergysId", getUserEnergysId())
                .append("userId", getUserId())
                .append("currentStamina", getCurrentStamina())
                .append("lastUpdateTime", getLastUpdateTime())
                .append("adWatchCount", getAdWatchCount())
                .append("watchObtain", getWatchObtain())
                .append("shareCount", getShareCount())
                .append("shareObtain", getShareObtain())
                .toString();
    }
}
